package com.chb.friend1错误的combiner;

import java.io.IOException;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
/**
 * 输入数据： 
 * 用户      好友列表  
 * 小明	老王	如花	林志玲
 *  将每行数据作为split
 *  根据好友列表获取Fof关系:
 *  因为 小明为老王，如花，林志玲的共同好友
 *  所以任意两个好友都是Fof关系
 */
public class FofMapper extends Mapper<Text, Text, Fof, IntWritable>{
	@Override
	protected void map(Text key, Text value, Context context)
			throws IOException, InterruptedException {
		String user = key.toString();
		//好友列表
		String friends[] = value.toString().split("\t"); 
		for (int i = 0; i < friends.length; i++) {
			String f1 = friends[i];
			//直接好友的Fof，设置输出值为0,方便在Reuder中提出这类Fof
			Fof noFof = new Fof(user, f1);
			context.write(noFof, new IntWritable(0));
			for (int j = i+1; j < friends.length; j++) {
				String f2 = friends[j];
				Fof fof = new Fof(f1, f2);
				context.write(fof, new IntWritable(1));
			}
		}
	}
}
